iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
Build on AWS

Lightsail Lab: Build Your AI-Powered Website系列 第 4

【Day 04】如何在 Lightsail 上創設虛擬環境

  • 分享至 

  • xImage
  •  

在創建完執行個體以後,可以先到該執行個體的管理頁面來看設置是否正確,這裡還會顯示靜態 IP 地址、私有 IPv4 地址、公有 IPv6 地址,以及執行個體狀態。

除此之外,管理頁面有8個子頁籤,分別是「連接」、「指標」、「快照」、「儲存」、「聯網」、「網域」、「標籤」、「歷史紀錄」,其中常用的有
(一)連接
在這裡,可以使用以瀏覽器為基礎的 SSH 用戶端連線方式連接到虛擬主機。按下橘色按鍵後,會跳出 CLI 介面(Command-Line interface),待會在 Lightsail 上創設環境的指令就會打在這個介面。
https://ithelp.ithome.com.tw/upload/images/20250918/20169520oqjxrm7PaX.png

同時,我們也能從視窗中看到目前虛擬主機的使用狀態。
https://ithelp.ithome.com.tw/upload/images/20250918/20169520Mod78TV7O1.png

(二)指標
這個頁面提供監控虛擬主機 CPU 使用狀態的服務。
https://ithelp.ithome.com.tw/upload/images/20250918/20169520aF07u3FINN.png

(三)快照
可以在此備份虛擬主機當時的狀態。
https://ithelp.ithome.com.tw/upload/images/20250918/20169520b4yLLCvzkc.png

(四)儲存
提供增加磁碟空間的服務。
https://ithelp.ithome.com.tw/upload/images/20250918/20169520FjEoDIIev6.png

(五)聯網
在這個頁籤,我們可以設定 IPv4 和 IPv6 的防火牆,並建立規則以開放連接埠(如MySQL 的 TCP
3306端口)給應用程式使用。
https://ithelp.ithome.com.tw/upload/images/20250918/201695201ivx4dCis8.png

接著,我們將進入正題:如何在 Lightsail 上創設虛擬環境。

在進入正題之前,得先了解為什麼要創設虛擬環境(virtual environment),原因是它能讓我們把專案所需要的 Python 套件與系統環境分開管理,避免衝突。(和在地端開發程式是一樣的道理)

※補充:在地端開發程式時,為了團隊協作方便,還會使用 Docker 容器化技術,本系統在地端進行測試時,也有使用,一來是為了跨平台協作時打包程式碼方便,二來是透過 docker-compose 可以快速部屬MySQL。不過,本系統上雲時,沒有在 Lightsail 上下載 Docker ,因為這台主機目前預計只給一個系統使用,還有 Docker 需要的記憶體空間較大, Lightsail 的記憶體有限。

那麼,如何在 Lightsail 上創設虛擬環境(virtual environment)呢?

首先,透過前面提及的 Lightsail SSH (橘色按鍵)登入主機,然後執行以下指令,更新套件清單並安裝 Python venv 模組。

  1. 更新系統與安裝 Python 工具
sudo apt update
sudo apt install python3-venv python3-pip -y
  1. 建立專案資料夾
sudo mkdir -p /var/www/flaskApp
// chown 是把資料夾的擁有權給目前的使用者,可以直接在這裡建立和修改檔案
sudo chown $USER:$USER /var/www/flaskApp
// 移動到專案資料夾
cd /var/www/flaskApp
  1. 建立虛擬環境
python3 -m venv venv
  1. 啟動虛擬環境
source venv/bin/activate

如果成功,命令列前面會出現 (venv) 提示字樣,代表你現在進入了虛擬環境。
若要退出虛擬環境可以使用

deactivate
  1. 在虛擬環境中,我們用 pip 來安裝 Flask或其他會用到的套件
pip install flask

如果權限不足,需要在 pip 前面加上 sudo,也就是讓「一般使用者」暫時以 root 權限執行某個指令。通常不太建議這樣使用,但是個人在使用 Lightsail 時常遇到權限問題,常需要加上sudo。

  1. 建立 Flask 專案檔案
    舉例而言,在 /var/www/flaskApp 建立 app.py
nano /var/www/flaskApp/app.py

同樣地,如果權限不足,需要在 nano 前面加上sudo。

  1. 輸入完以上指令後,會跳出 nano 編輯器,不過本系統會用密鑰連線的方式將程式碼檔案推上伺服器。
    這個功能只會在些微修改時使用。打完程式碼以後,使用** ^O 儲存,如果要直接退出編輯器,可以用 ^X**。
    https://ithelp.ithome.com.tw/upload/images/20250918/20169520ZRdW6c7PiI.png

  2. 如果不知道目前資料夾中有那些檔案,可以輸入

ls

今天就先介紹到這邊。


上一篇
【Day 03】創設執行個體(instance)
系列文
Lightsail Lab: Build Your AI-Powered Website4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言